The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for providing transactional orchestration of resource management and system topology in a cloud environment.
Cloud computing is a relatively recent technological offering that relies on sharing of resources to achieve coherence and economies of scale, similar to a utility (like the electricity grid), over a data network. At the foundation of cloud computing is the broader concept of converged infrastructure and shared services. Cloud computing, or more simply “the cloud”, focuses on maximizing the effectiveness of the shared resources. Cloud resources are usually not only shared by multiple users but are also dynamically reallocated on-demand. For example, a cloud computer facility that serves European users during European business hours with a specific application (e.g., email) may reallocate the same resources to serve North American users during North America's business hours with a different application (e.g., a web server). This approach maximizes the use of computing power, thereby reducing environmental damage as well as requiring less power, air conditioning, rack space, etc., since the same resources are utilized for multiple purposes and for multiple users. In the same vein, with cloud computing, multiple users can access a single server or set of servers to retrieve and update their data without purchasing licenses for different applications.
Proponents claim that cloud computing allows companies to avoid upfront infrastructure costs, and focus on projects that differentiate their businesses instead of on infrastructure. Proponents also claim that cloud computing allows enterprises to get their applications up and running faster, with improved manageability and less maintenance, and enables information technology to more rapidly adjust resources to meet fluctuating and unpredictable business demand.
The present availability of high-capacity networks, low-cost computers and storage devices, as well as the widespread adoption of hardware virtualization, service-oriented architecture, and autonomic and utility computing have led to a growth in cloud computing. Companies can scale up as computing needs increase and then scale down again as demands decrease.